package com.dtwave.wechat.service.provider.common.enums;

/**
 * @author huyan
 * @version V1.0
 * @Title: anjbo-bigdata-manage-parent
 * @Package com.anjbo.enums
 * @Description:
 * @date 2018/8/6 10:06
 */
public enum OrderNameEnums {

    ONE("一", "1"),
    TWO("二", "2"),
    THREE("三", "3"),
    FOUR("四", "4"),
    FIVE("五", "5"),
    SIX("六", "6"),
    SEVEN("七", "7"),
    EIGHT("八", "8"),
    NINE("九", "9"),
    TEN("十", "10"),

    A("A", "1"),
    B("B", "2"),
    C("C", "3"),
    D("D", "4"),
    E("E", "5"),
    F("F", "6"),
    G("G", "7"),
    H("H", "8"),
    I("I", "9"),
    J("J", "10"),
    K("K", "11"),
    L("L", "12"),
    M("M", "13"),
    N("N", "14"),
    O("O", "15"),
    P("P", "16"),
    Q("Q", "17"),
    R("R", "18"),
    S("S", "19"),
    T("T", "20"),
    U("U", "21"),
    V("V", "22"),
    W("W", "23"),
    X("X", "24"),
    Y("Y", "25"),
    Z("Z", "26"),
    ;


    private String key;

    private String value;

    OrderNameEnums(String key, String value) {
        this.key = key;
        this.value = value;
    }

    /**
     * 通过key获取value值
     * @param key
     * @return
     */
    public static String getASCIIbyKey(String key) {
        if (key == null || "".equals(key)) {
            return "";
        }
        for (OrderNameEnums order: OrderNameEnums.values()) {
            if (key.toUpperCase().equals(order.getKey())) {
                return order.getValue();
            }
        }
        return "";
    }

    /**
     * 获取一 到 十 的汉字
     * @param key
     * @return
     */
    public static String getNumByNumStr(String key) {
        String regex = "[a-zA-z]";
        if (key == null || "".equals(key)) {
            return "";
        }
        if (key.matches(regex)) {
            return key.toUpperCase();
        }
        for (OrderNameEnums order: OrderNameEnums.values()) {
            if (key.toUpperCase().equals(order.getKey())) {
                return order.getValue();
            }
        }
        return "";
    }

    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}
